package com.bsoft.gol.hcs.specialist.service;

import ctd.controller.exception.ControllerException;
import ctd.util.annotation.RpcService;
import com.bsoft.gol.hcs.specialist.bean.request.DiseaseFollowUpStatisticsReq;
import com.bsoft.gol.hcs.specialist.bean.request.StatisticsRecordRequest;
import com.bsoft.gol.hcs.specialist.bean.request.WorkloadStatisticsReq;
import com.bsoft.gol.hcs.specialist.bean.response.DiseaseFollowUpStatisticsResp;
import com.bsoft.gol.hcs.specialist.bean.response.StatisticsRecordResponse;
import com.bsoft.gol.hcs.specialist.bean.response.WorkloadStatisticsResp;
import org.atag.dao.model.PageInfo;

import java.util.List;

/**
 *
 * 随访统计 Service
 *
 * @author lixy
 * @date 2021/12/3 8:30
 */
public interface IFollowUpStatisticsService {

    /**
     * 统计入组、随访人次
     * @param statisticsRecordRequest req
     * @return list
     */
    @RpcService
    List<StatisticsRecordResponse> statisticsRecord(StatisticsRecordRequest statisticsRecordRequest);


    /*随访工作量统计*/
    @RpcService
    PageInfo<WorkloadStatisticsResp> workloadStatistics(WorkloadStatisticsReq workloadStatisticsReq);


    /*病种随访统计*/
    @RpcService
    PageInfo<DiseaseFollowUpStatisticsResp> diseaseFollowUpStatistics(DiseaseFollowUpStatisticsReq diseaseFollowUpStatisticsReq);

    /**
     * 病种随访统计excel导出
     * @param req
     * @return
     * @throws ControllerException
     */
    @RpcService
    String diseaseFollowUpStatisticsExport(DiseaseFollowUpStatisticsReq req) throws ControllerException;

    /**
     * 随访工作量统计excel导出
     * @param req
     * @return
     * @throws ControllerException
     */
    @RpcService
    String workloadStatisticsExport(WorkloadStatisticsReq req) throws ControllerException;
}
